//
//  API.h
//  
//
//  Created by  apple on 08-10-30.
//  Copyright 2008 __MyCompanyName__. All rights reserved.
//

#ifndef ___API_H
#define ___API_H

#ifdef __cplusplus
extern "C"{
#endif

BOOL isEmail(NSString* theString);


BOOL isValidEmailCharacter(NSString* theCharacters);

NSString *urlEncode(NSString *originalString);
NSString *urlDecode(NSString *originalString);

//安全性算法 
char* SHA1Digest(NSString*pwd);
NSData*  sha1OfData(NSData* data);
NSData* MD5Digest(NSData* data);
NSString * stringToMd5(NSString * string);
NSString * fileMD5(NSString* path);
NSData* AES256Encrypt(NSData* srcData,NSData* keyData);
NSData* AES256Decrypt(NSData* data,NSData* keyData);
NSString* encryptPwd(NSString* pwd);
NSString* decryptPwd(NSString* encryptPassword);

//二进制数据与十六进制字符串之间的转换
NSString* binToHexWithData(NSData*data);
uint8_t  getCharValuewithPre(char pre,char next);
NSUInteger getValueByChar (char ch);
NSData* hexToBinWithString(NSString* txt);

NSString *CredentialDecrypt(NSString* c,NSString *key);
NSString* generateRandomCnOnce();

/**
 *	@brief	sha1算法，因在.a库中，无法使用NSData的扩展，因此从NSData+SecurityDigest类中单独提出来
 *
 *	@param 	data 	输入数据
 *
 *	@return	输出数据NSData*
 */
NSData *sha1DigestForUtilLib(NSData *data);
NSData* gzipData(NSData *pUncompressedData);

#ifdef __cplusplus
}
#endif
        
#endif
